1. Field
Embodiments of the invention relate to the field of IP (Internet Protocol) communications; and more specifically, to the routing of packets in a CPG (Converged Packet Gateway).
2. Background
Subscriber devices such as mobile devices and laptop computers connect to the Internet to gain access to web pages, e-mail, etc. Each of these subscriber devices is dynamically allocated an IP host address, either from a CPG local IP pool or a RADIUS provided IP pool. The CPG is a distributed user plane system positioned at the edge of the network and facilitates the IP connectivity to these subscriber devices. Packets are routed between the Internet and the appropriate subscriber device via the CPG.
When a CPG receives packets transmitted from the Internet, it routes it to the line card in the home slot, which is the card that homes the wireless session for that packet. Services are executed on the packet at the home slot before the packet is routed to the intended subscriber device. When a packet is received by the CPG for a subscriber device destination, the manner in which a home slot is located is done using the FIB (Forwarding Information Base) of a line card.
One embodiment of an FIB is depicted in FIG. 2A. This FIB is duplicated on every line card of the forwarding plane of the CPG. An incoming packet will contain an IP address that identifies the destination subscriber device. In the FIB, each of the IP addresses are mapped to a line card on the forwarding plane of the CPG. These line cards indicate that they are home cards for the respective sessions associated with the packets. To illustrate, the IP address column 305 of the FIB lists the IP addresses that identify current or potential subscriber devices. The line card number column 310 of the FIB lists the line card number identifying the line cards on the forwarding plane of the CPG. For example, when a packet that contains IP address 128.1.1.7 is received by an initial line card on the CPG, the line card looks in its FIB to see that the home card for this packet is line card #1. Therefore, if the initial line card that received the packet is line card #1, the packet is already on the home card. Otherwise, the packet is forwarded from the initial line card to line card #1 for further processing before being routed out to the subscriber device identified by IP address 128.1.1.7. Similarly, an incoming packet with IP address 128.1.1.8 will be routed to line card #2 and an incoming packet with IP address 128.1.1.9 will be routed to line card #3. While this format of FIB is effective in routing packets to their respective home cards, a CPG that supports millions of subscribers requires millions of entries for each of the IP addresses. This would consume a large amount of resources to store and locate entries in the FIB. While scalability is a bonus, line card failure recovery is more important. The home card table can be fixed quickly.
Another embodiment of the FIB is illustrated in FIG. 2B. This FIB is duplicated on every line card of the forwarding plane of the CPG. Rather than having an entry for each individual IP address, the FIB in FIG. 2B identifies an entry for each IP address range 315. Each range of IP address is mapped to a home card identified by a line card number 320. This reduces the size of the FIB because a single entry for IP address 128.1.1.X covers the 256 32-bit IP addresses ranging from 128.1.1.0 through 128.1.1.255. For example, when a packet initially arrives on a line card at the CPG with IP address 128.1.1.7, the FIB indicates that the home card is line card #1. If the initial line card that received the packet is line card #1, the packet is already on the home card. Otherwise, the packet is forwarded from the initial line card to line card #1 for further processing before being routed out to the subscriber device identified by IP address 128.1.1.7. As shown in the illustration, IP addresses of 128.1.3.X are mapped to line card #2 and IP addresses of 128.1.4.X are mapped to line card #3. Compared to the FIB in FIG. 2A, the FIB in FIG. 2B has fewer entries due to the grouping of IP addresses. However, the FIB in FIG. 2B is still large and furthermore, the effect of this grouping is that all 256 consecutive IP addresses are mapped to one line card, causing “clumps” of traffic at certain line cards.